package com.qf.lanzhou.blog.api.dao;

import com.qf.lanzhou.blog.api.pojo.entity.Audit;

import java.util.List;

/**
 * @author LEON-HE
 */
public interface AuditDao {
    /**
     * 检查用户是否已提交该审核
     * @param userId 用户ID
     * @return 若没有则返回true
     */
    Boolean selectAuditByUserId(Long userId);
    /**
     * 更新初始化密码审核事务
     * @param userId 用户ID
     * @return 更新成功后返回true
     */
    Boolean saveAuditChangePassword(Long userId);

    /**
     * 搜索全部的事务
     * @return
     */
    List<Audit> selectAll();
    /**
     * 更新举报评论审核事务
     * @param commentId 评论ID
     * @return 更新成功后返回true
     */
    Boolean saveAuditReportComment(Long commentId);
    /**
     * 审核举报评论审核事务
     * @param commentId 评论ID
     * @return 更新成功后返回true
     * */
    Boolean checkAuditReportComment(Long commentId);
    /**
     * 检查用户是否已提交该审核
     * @param commentId 评论ID
     * @return 若没有则返回true
     */
    Boolean selectAuditByCommentId(Long commentId);

    /**
     *  处理初始化密码通过事务
     * @param auditId
     * @return 成功初始化返回true
     */
    Boolean updateInitPasswordAudit(Long auditId,Long userId);

    /**
     *   处理初始化密码不通过事务
     * @param auditId
     * @return 成功执行返回true
     */
    Boolean updateFailAudit(Long auditId);

    /**
     * 通过事务ID查找用户
     * @param auditId 事务ID
     * @return 返回用户id
     */
    Long selectUserIdByAuditId(Long auditId);
    /**
     * 通过事务ID查找用户
     * @param commentId 事务ID
     * @return true 处理成功
     */
    Boolean updateCommentByCommentId(Long commentId);
    /**
     * 搜索全部的事务
     * @return
     */
    List<Audit> selectPersonAll(Long uid);
}
